const app = getApp();

Page({
  data: {
    userInfo: null,     // 后端用户信息
    wxUserInfo: null,   // 微信用户信息
    isLogin: false,
    animationData: {},
    currentYear: new Date().getFullYear()  // 当前年份
  },
  
  onLoad() {
    // 检查登录状态
    this.checkLogin();
    // 创建动画实例
    this.animation = wx.createAnimation({
      duration: 1000,
      timingFunction: 'ease',
    });
  },
  
  onShow() {
    // 每次显示页面时检查登录状态
    this.checkLogin();
    // 执行动画
    this.startAnimation();
  },
  
  // 开始动画
  startAnimation() {
    // 头像动画
    this.animation.opacity(0).scale(0.8).step({ duration: 0 });
    this.animation.opacity(1).scale(1).step({ duration: 800 });
    this.setData({
      animationData: this.animation.export()
    });
  },
  
  // 检查登录状态
  checkLogin() {
    // 从本地存储获取用户信息
    const userInfo = wx.getStorageSync('userInfo');
    // 从全局状态获取微信用户信息
    const wxUserInfo = app.globalData.wxUserInfo;
    // 从全局状态获取登录状态
    const isLogin = app.globalData.isLogin;
    
    if (isLogin) {
      console.log('用户已登录，用户信息:', userInfo);
      console.log('微信用户信息:', wxUserInfo);
      this.setData({
        userInfo: userInfo,
        wxUserInfo: wxUserInfo || userInfo, // 优先使用微信用户信息，如果没有则使用后端用户信息
        isLogin: true
      });
    } else {
      console.log('用户未登录');
      this.setData({
        userInfo: null,
        wxUserInfo: null,
        isLogin: false
      });
    }
  },
  
  // 去登录
  goLogin() {
    wx.navigateTo({
      url: '/pages/user/login'
    });
  },
  
  // 前往个人设置
  goPersonalSettings() {
    if (!this.data.isLogin) {
      this.showLoginTip();
      return;
    }
    
    wx.navigateTo({
      url: '/pages/user/settings'
    });
  },
  
  // 前往关于我们
  goAboutUs() {
    wx.navigateTo({
      url: '/pages/about/index'
    });
  },
  
  // 前往新增新闻页面
  goMyNews() {
    if (!this.data.isLogin) {
      this.showLoginTip();
      return;
    }
    wx.navigateTo({
      url: '/pages/news/my/my'
    });
  },
  
  // 前往新增新闻页面
  goCreateNews() {
    if (!this.data.isLogin) {
      this.showLoginTip();
      return;
    }
    wx.navigateTo({
      url: '/pages/news/create/create'
    });
  },
  
  // 前往收藏页面
  goCollection() {
    if (!this.data.isLogin) {
      this.showLoginTip();
      return;
    }
    
    wx.showToast({
      title: '功能开发中',
      icon: 'none'
    });
  },
  
  // 前往关注页面
  goFollowing() {
    if (!this.data.isLogin) {
      this.showLoginTip();
      return;
    }
    
    wx.showToast({
      title: '功能开发中',
      icon: 'none'
    });
  },
  
  // 前往足迹页面
  goHistory() {
    if (!this.data.isLogin) {
      this.showLoginTip();
      return;
    }
    
    wx.showToast({
      title: '功能开发中',
      icon: 'none'
    });
  },
  
  // 显示登录提示
  showLoginTip() {
    wx.showModal({
      title: '提示',
      content: '请先登录后再使用该功能',
      confirmText: '去登录',
      cancelText: '取消',
      success: (res) => {
        if (res.confirm) {
          this.goLogin();
        }
      }
    });
  },
  
  // 退出登录
  logout() {
    wx.showModal({
      title: '提示',
      content: '确定要退出登录吗？',
      success: (res) => {
        if (res.confirm) {
          // 清除本地存储
          wx.removeStorageSync('token');
          wx.removeStorageSync('userInfo');
          
          // 更新状态
          this.setData({
            userInfo: null,
            wxUserInfo: null,
            isLogin: false
          });
          
          // 更新全局状态
          app.globalData.userInfo = null;
          app.globalData.wxUserInfo = null;
          app.globalData.isLogin = false;
          app.globalData.token = null;
          
          // 提示
          wx.showToast({
            title: '退出成功',
            icon: 'success'
          });
        }
      }
    });
  }
}) 